package model;

import util.Movement;
import util.MovementNotAllowedException;

/**
 *
 * @author José Ignacio Rivero Dávila
 */
public interface PuzzleInterface {

    Integer getNumberAtPosition(int position);

    Integer[] getPositions();

    Integer getZeroPosition();

    boolean isWinner();

    void move(Movement move) throws MovementNotAllowedException;


    void setPositions(Integer[] positions);

    String toLispCompatible();

    String toString();
    
}
